SUPPORT / SAMPLES & SAS NOTES
 

Support

Problem Note 62360: Java exceptions and errors might occur when you try to save data to a worksheet or perform other common tasks in SAS® Risk and Finance Workbench

DetailsAboutRate It
When using SAS® Risk and Finance Workbench with Oracle 12cR2 as the back-end database, you might be unable to save data to a worksheet or perform other common tasks. These issues are known to occur when you use Oracle 12c and Oracle 12cR2.
 
This issue can occur when you try to save data to a worksheet in the user interface. In this scenario, an exception similar to the following can occur:
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [insert into data_point_value (data_point_key, period_id, data_point_val, data_point_value_cd, source_cd, source_key, scope_cd, iteration_sk, created_user_id,
created_dttm, revision_num, property_def_sk, source_txt) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, null, ?, ?)];
nested exception is java.sql.BatchUpdateException: ORA-00932: inconsistent datatypes: expected NUMBER got CLOB
   at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:97)
   at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
   at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
   at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
   at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:605)
   at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:617)
   at org.springframework.jdbc.core.JdbcTemplate.batchUpdate(JdbcTemplate.java:890)

However, you might also encounter this issue when attempting to perform other common tasks. Errors similar to the following might occur in the SASRiskFinanceWkbnchMidTier.log file in these circumstances:

ERROR com.sas.stress.rest.controller.ControllerExceptionHandler - Generic
exception handling for request:
https://< server >/SASRiskandFinanceWorkbench/rest/config/hierarchies
java.lang.ArrayIndexOutOfBoundsException: 8
   at oracle.jdbc.driver.OracleSql.computeBasicInfo(OracleSql.java:950)
   at oracle.jdbc.driver.OracleSql.getSqlKind(OracleSql.java:623)
   at oracle.jdbc.driver.OraclePreparedStatement.<init>(OraclePreparedStatement.java:1212)

Here is another error that you might encounter:

Caused by: java.sql.SQLSyntaxErrorException: ORA-00936: missing expression
   at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
   at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
   at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951)
   at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513)
   at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)
   at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
   at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:208)
   at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:886)
   at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:117
   at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:129
   at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3613)
   at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3657)
   at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1495)
   at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:646)
   at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:589)
The workaround is the same for all of these scenarios:
  1. Download the latest Oracle 11gR2 JDBC driver (ojdbc6.jar file) directly from the Oracle support site
  2. Stop SASServer11.
  3. Replace the existing ojdbc*.jar file in the SAS-configuration-directory/Levn/Web/WebAppServer/SASServer11_1/lib directory with the newly downloaded odjbc6.jar file.
  4. Restart SASServer11.


Operating System and Release Information

Product FamilyProductSystemProduct ReleaseSAS Release
ReportedFixed*ReportedFixed*
SAS SystemSAS Risk and Finance WorkbenchMicrosoft® Windows® for x642.33.29.4 TS1M49.4 TS1M5
Linux for x642.33.29.4 TS1M49.4 TS1M5
* For software releases that are not yet generally available, the Fixed Release is the software release in which the problem is planned to be fixed.